Cost analysis of object-oriented bytecode programs
نویسندگان
چکیده
Cost analysis statically approximates the cost of programs in terms of their inputdata size. This paper presents, to the best of our knowledge, the first approach tothe automatic cost analysis of Object-Oriented bytecode programs. In languagessuch as Java and C#, analyzing bytecode has a much wider application areathan analyzing source code since the latter is often not available. Cost analysisin this context has to consider, among others, dynamic dispatch, jumps, theoperand stack, and the heap. Our method takes a bytecode program and a costmodel specifying the resource of interest, and generates cost relations whichapproximate the execution cost of the program with respect to such resource.We report on COSTA, an implementation for Java bytecode which can obtainupper bounds on cost for a large class of programs and complexity classes. Ourbasic techniques can be directly applied to infer cost relations for other Object-Oriented imperative languages, not necessarily in bytecode form.
منابع مشابه
A Generic Framework for the Cost Analysis of Java Bytecode∗
Cost analysis of Java bytecode is complicated by its unstructured control flow, the use of an operand stack and its object-oriented programming features (like dynamic dispatching). This paper addresses these problems and develops a generic framework for the automatic cost analysis of sequential Java bytecode. Our method generates cost relations which define at compile-time the cost of programs ...
متن کاملCost Analysis of Java Bytecode
Cost analysis of Java bytecode is complicated by its unstructured control flow, the use of an operand stack and its object-oriented programming features (like dynamic dispatching). This paper addresses these problems and develops a generic framework for the automatic cost analysis of sequential Java bytecode. Our method generates cost relations which define at compile-time the cost of programs ...
متن کاملApplications of Static Slicing in Cost Analysis of Java Bytecode
Java bytecode [?] is a low-level object-oriented language which is widely used in the context of mobile code due to its security features and the fact that it is platform independent. Recent works study advanced properties of Java bytecode like cost analysis [?] or termination [?]. Automatic cost analysis has interesting applications in the context of Java bytecode. For instance, the receiver o...
متن کاملCOSTA: Design and Implementation of a Cost and Termination Analyzer for Java Bytecode
This paper describes the architecture of costa, an abstract interpretation based cost and termination analyzer for Java bytecode. The system receives as input a bytecode program, (a choice of) a resource of interest and tries to obtain an upper bound of the resource consumption of the program. costa provides several non-trivial notions of cost, as the consumption of the heap, the number of byte...
متن کاملAutomated Termination Analysis of Java Bytecode by Term Rewriting Carsten Otto and Marc Brockschmidt and Christian Von Essen and Jürgen Giesl
We present an automated approach to prove termination of Java Bytecode (JBC) programs by automatically transforming them to term rewrite systems (TRSs). In this way, the numerous techniques and tools developed for TRS termination can now be used for imperative object-oriented languages like Java, which can be compiled into JBC.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Theor. Comput. Sci.
دوره 413 شماره
صفحات -
تاریخ انتشار 2012